home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 1.iso / fb386 / pickup / str_chr.bas < prev    next >
BASIC Source File  |  1991-10-18  |  8KB  |  178 lines

  1. 1 KEY (1) ON :ON KEY (1) GOSUB 65010:PLAY OFF
  2. 10 DEFINT A-Z
  3. 20 DIM T(4,9),D(47),V(23)
  4. 30 GOSUB *SCREEN : PLAY OFF:BGM 1:LOAD@ "Q:\FJ\PCM\RYM_ALL1.PMB":LOAD@ "Q:\FJ\FM\FM_1.FMB"
  5. 40 '----
  6. 50 GOSUB *READ_DATA
  7. 60 '    AF                     PAN PMS AMS
  8. 70 DATA 56,  0,  0,  0,  0,  0,  3,  0,  0,  0
  9. 80 '    AR  DR  SR  RR  SL  TL  KS  ML  DT        Melody
  10. 90 DATA 31,  3,  5,  2,  4, 31,  0,  7,  0,  0
  11. 100 DATA 31,  1,  6,  2,  4, 34,  1,  4,  0,  0
  12. 110 DATA 31,  4,  6,  4,  1, 20,  0,  1,  0,  0
  13. 120 DATA 31,  4,  3,  7,  1,  6,  1,  2,  0,  0
  14. 130 GOSUB *VOICE_SET:VOICE 1,V,0
  15. 140 '----
  16. 150 GOSUB *READ_DATA
  17. 160 '    AF                     PAN PMS AMS
  18. 170 DATA 52,  0,  0,  0,  0,  0,  3,  0,  0,  0
  19. 180 '    AR  DR  SR  RR  SL  TL  KS  ML  DT        Chord
  20. 190 DATA 31,  0,  0,  4,  1, 20,  1,  2,  0,  0
  21. 200 DATA 31,  0,  0,  4,  1, 20,  0,  2,  0,  0
  22. 210 DATA 31,  0,  0,  4,  1,  3,  1,  2,  1,  0
  23. 220 DATA 31,  0,  0,  4,  1,  4,  0,  2,  1,  0
  24. 230 GOSUB *VOICE_SET:VOICE 2,V,0
  25. 240 '----
  26. 250 GOSUB *READ_DATA
  27. 260 '    AF                     PAN PMS AMS
  28. 270 DATA  0,  0,  0,  0,  0,  0,  3,  0,  0,  0
  29. 280 '    AR  DR  SR  RR  SL  TL  KS  ML  DT        e.bass
  30. 290 DATA 31, 15, 14,  9, 12, 47,  1,  8,  7,  0
  31. 300 DATA 31, 11, 12,  5,  5, 28,  1,  0,  0,  0
  32. 310 DATA 31,  8,  7,  5,  7, 28,  1,  1,  3,  0
  33. 320 DATA 31,  6,  5,  7,  3,  1,  1,  1,  3,  0
  34. 330 GOSUB *VOICE_SET:VOICE 3,V,0
  35. 340 '----
  36. 350 GOTO 540
  37. 360 *VOICE_SET
  38. 370 D%(32)=T%(0,0)
  39. 380 FOR I%=0 TO 3:J%=I%+1
  40. 390 D%( 8+I%)=(T%(J%,8) AND 7)*16+(T%(J%,7) AND 15)
  41. 400 D%(12+I%)=(T%(J%,5) AND 127)
  42. 410 D%(16+I%)=(T%(J%,6) AND 3)*64+(T%(J%,0) AND 31)
  43. 420 D%(20+I%)=T%(J%,1) AND 31
  44. 430 D%(24+I%)=T%(J%,2) AND 31
  45. 440 D%(28+I%)=(T%(J%,4) AND 15)*16+(T%(J%,3) AND 15)
  46. 450 NEXT
  47. 460 D%(33)=((T%(0,6) AND 3)*64)+((T%(0,7) AND 3)*16)+((T%(0,8) AND 7)):'D%(34)=0
  48. 470 FOR I%=0 TO 47 STEP 2:L&=D%(I%+1)*256+D%(I%)
  49. 480 IF L&<&H8000 THEN V%(I%\2)=CINT(L&) ELSE V%(I%\2)=CINT(L&-&H10000)
  50. 490 NEXT:RETURN
  51. 500 '----
  52. 510 *READ_DATA
  53. 520 FOR X=0 TO 4:FOR Y=0 TO 9:READ T%(X,Y):NEXT Y:NEXT X
  54. 530 RETURN
  55. 540 '
  56. 550 FOR I=1 TO 14:PART I,I:NEXT
  57. 560 T$="T146%CU0"
  58. 570 A0$="%CQ8L16V10O4D4.DEF4.FG A4.AAA8.G8.F8 GECEG4G8.>C8.<AG A2G2"
  59. 580 C0$="@1%CQ8L16V7O4RD4.DEF4.FG A4.AAA8.G8.F8 GECEG4G8.>C8.<AG A2G4&G8."
  60. 590 D0$="Q8L1V5O4F D C E2E2"
  61. 600 F0A$="@3%CQ8L16V10O3D8DDD8DDD8DDD8DD":F0A$=F0A$+F0A$
  62. 610 F0B$="O3C8CCC8CCC8CCC8CC <A8AAA8AAA8AAA8AA":F0$=F0A$+F0B$
  63. 620 G0$="@1%CQ8L4V15O1ARAR ARAR ARAR ARAR"
  64. 630 H0$="@1%CQ8L4V15O2RERE RERE RERE RERE"
  65. 640 I0$="Q8L16V11O5G8GGG8GGG8GGG8GG G8GGG8GGG8GGG8GG":I0$=I0$+I0$
  66. 650 J0$="Q8L4V11O6RRRG &G1 RRRG &G1"
  67. 660 A1$="O3B-4.B->CD4.DE F4.FFF8.E8.D8 EDC+DE4AGFGA4 >EDC+DE4AGFEDC<B-A"
  68. 670 C1$="O3RB-4.B->CD4.DE F4.FFF8.E8.D8 EDC+DE4AGFGA4 >EDC+DE4AGFEDC<B-"
  69. 680 D1$="O4D <B- G2.>G4 G2A2"
  70. 690 F1A$="O2B-8B-B-B-8B-B-B-8B-B-B-8B-B-":F1A$=F1A$+F1A$
  71. 700 F1B$="O3C8CCC8CCC8CCC8CC D8DDD8DDD8DDD8DD":F1$=F1A$+F1B$
  72. 710 H1$="O2RERE RERE RERE RER8L16EREEEEL4"
  73. 720 A2$="O3B-4.B-B-B->CDEFGAB- C4.CCE8.F8.G8 F8.E8.D8&D2 D2D4C4"
  74. 730 C2$="O3RB-4.B-B-B->CDEFGAB- C4.CCE8.F8.G8 F8.E8.D8&D2 D2D4C8."
  75. 740 D2$="O4D E D F2E2"
  76. 750 F2$="O3C8CCC8CCC8CCC8CC D8DDD8DDD8DDD8DD":F2$=F1A$+F2$
  77. 760 H2$="O2RERE RERE RERE RL16EEERR4EEEEL4"
  78. 770 A3$="O4B-4.B-B-B-AGFEFGB- A4.AB->C8.<A8.F8 B-4.B-B-B-AGFEDCB- A4.FGA2"
  79. 780 D3$="O4F E F D2C+2"
  80. 790 F3A$="O2B-8B-B-B-8B-B-B-8B-B-B-8B-B- >C8CCC8CCC8CCC8CC"
  81. 800 F3$=F3A$+"O2B-8B-B-B-8B-B-B-8B-B-B-8B-B- A8AAA8AAA8AAA8AA"
  82. 810 H3$="O2RERE RERE RERE RER8L16E8EEEEL4"
  83. 820 A4$="O4B-4.B-B-B-AGFEFGB- A4.AB->C8.<A8.F8 B-4.B->CD<B->CDECDF E4.EDC+8.D8.E8"
  84. 830 C4$="O4RB-4.B-B-B-AGFEFGB- A4.AB->C8.<A8.F8 B-4.B>CD<B->CDECDF E4.EDC+8.D8.E16"
  85. 840 D4$="O4F E F C2E8.F8.G8&"
  86. 850 F4$=F3A$+"O2B-8B-B-B-8B-B-B-8B-B-B-8B-B- >C8CCC8CCE8EEE8EE"
  87. 860 A5$="O5E2E8.F8.G8 G2F2 E4D4C+8.D8.E8"
  88. 870 C5$="O5RE2E8.F8.G8 G2F2 E4D4C+8.D8.E16"
  89. 880 D5$="G2G8.A8.B-8 &B-2A2 G4F4E8.F8.G8"
  90. 890 F5$="O3E8EEE8EEE8EEE8EE E8EEE8EED8DDD8DD C+8C+C+C+8C+C+C+8C+C+C+8C+C+"
  91. 900 G5$="O1ARAR ARAR ARAR"
  92. 910 H5$="O2RERE RERE REL16EEEEEEEEL4"
  93. 920 I5$="O5G8GGG8GGG8GGG8GG G8GGG8GGG8GGG8GG G8GGG8GGG8GGG8GG"
  94. 930 J5$="O6RRRG RRRG RGRR"
  95. 940 PLAY T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$
  96. 950 PLAY "@1U-40"+A0$,"@1U40"+A0$,"U40"+C0$,"@2%R"+D0$,"@2%LU-80"+D0$,F0$,G0$,H0$,"@1%R"+I0$,"@1%LU80"+I0$,"@1%R"+J0$,"@1%LU80"+J0$
  97. 960 PLAY A1$,A1$,C1$,D1$,D1$,F1$,G0$,H1$,I0$,I0$,J0$,J0$
  98. 970 PLAY A0$,A0$,C0$,D0$,D0$,F0$,G0$,H0$,I0$,I0$,J0$,J0$
  99. 980 PLAY A2$,A2$,C2$,D2$,D2$,F2$,G0$,H2$,I0$,I0$,J0$,J0$
  100. 990 PLAY A3$,A3$,C3$,D3$,D3$,F3$,G0$,H3$,I0$,I0$,J0$,J0$
  101. 1000 PLAY A4$,A4$,C4$,D4$,D4$,F4$,G0$,H0$,I0$,I0$,J0$,J0$
  102. 1010 PLAY A5$,A5$,C5$,D5$,D5$,F5$,G5$,H5$,I5$,I5$,J5$,J5$
  103. 1020 GOTO 950
  104. 17000 *SCREEN
  105. 17010 SCREEN@ 0 : PALETTE@
  106. 17020 FOR I=0 TO 15 : PALETTE I,[0,0,0] : NEXT
  107. 17030 COLOR ,%5 : CLS
  108. 17040 X=630 : Y=30 : MX=2 : MY=3: R=3 : C1=1 : C2=5 : C3=15 : F=16
  109. 17050 ST$="PICK UP TOWNS" : GOSUB *STR_PUT
  110. 17060 X=575 : Y=30 : MX=2 : MY=3 : R=3 : C1=1 : C2=5 : C3=15 : F=16
  111. 17070 ST$="MUSIC PROGRAM" : GOSUB *STR_PUT
  112. 17080 GOSUB *F_IN : FOR I=0 TO 2000 : NEXT
  113. 17090 X1=10 : X2=510 : Y1=10 : Y2=460 : C1=1 : C2=6 : C3=15
  114. 17100 GOSUB *WAKU
  115. 17110 X1=20 : X2=500 : Y1=20 : Y2=90 : C1=15 : C2=7 : C3=5
  116. 17120 GOSUB *WAKU
  117. 17130 X1=20 : X2=500 : Y1=420 : Y2=450 : C1=15 : C2=7 : C3=5
  118. 17140 GOSUB *WAKU
  119. 17150 X1=20 : X2=500 : Y1=100 : Y2=410 : C1=15 : C2=7 : C3=5
  120. 17160 GOSUB *WAKU
  121. 17170 SYMBOL (30,430),"PF1キーを押すと、演奏を中断して音楽MENUに戻ります。",1,1,0,,,1
  122. 17180 SYMBOL (30,30)," TITLE ",1,1,0,0,PSET,17
  123. 17190 SYMBOL (80,53),"The Strongest Challenger",1,2,0,0,PSET,1
  124. 17200 SYMBOL (30,110)," DATA ",1,1,0,0,PSET,17
  125. 17210 SYMBOL (80,140),"Programed by KAZUYA SHIMADA",1,1,0,0,PSET,1,1
  126. 17220 SYMBOL (80,160)," Composed by KAZUYA SHIMADA",1,1,0,0,PSET,1,1
  127. 17230 SYMBOL (30,200)," MESSAGE ",1,1,0,0,PSET,17
  128. 17240 'ST$()="・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・"
  129. 17250 ST$(0)=" 無限ループします。"
  130. 17260 ST$(1)=" 音色データは、FJのRYM_ALL1.PMBとFM_1.FMBを使用しま"
  131. 17270 ST$(2)="した。"
  132. 17280 ST$(3)=""
  133. 17290 ST$(4)=""
  134. 17300 ST$(5)=""
  135. 17310 ST$(6)=""
  136. 17320 ST$(7)=""
  137. 17330 GOSUB *MESSAGE
  138. 17340 RETURN
  139. 17350 *STR_PUT
  140. 17360 SYMBOL (X,Y),ST$,MX,MY,%C1,R,PSET,F
  141. 17370 SYMBOL (X+1,Y),ST$,MX,MY,%C1,R,PSET,F
  142. 17380 SYMBOL (X+2,Y),ST$,MX,MY,%C1,R,PSET,F
  143. 17390 SYMBOL (X+2,Y-1),ST$,MX,MY,%C1,R,PSET,F
  144. 17400 SYMBOL (X+2,Y-2),ST$,MX,MY,%C1,R,PSET,F
  145. 17410 SYMBOL (X,Y-2),ST$,MX,MY,%C3,R,PSET,F
  146. 17420 SYMBOL (X+1,Y-2),ST$,MX,MY,%C3,R,PSET,F
  147. 17430 SYMBOL (X,Y-1),ST$,MX,MY,%C3,R,PSET,F
  148. 17440 SYMBOL (X+1,Y-1),ST$,MX,MY,%C2,R,PSET,F
  149. 17450 RETURN
  150. 17460 *WAKU
  151. 17470 LINE (X1+2,Y1+2)-(X2-2,Y2-2),PSET,%C2,BF
  152. 17480 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%C3
  153. 17490 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),%C3
  154. 17500 CONNECT (X1+1,Y2)-(X2,Y2)-(X2,Y1+1),%C1
  155. 17510 CONNECT (X1+2,Y2-1)-(X2-1,Y2-1)-(X2-1,Y1+2),%C1
  156. 17520 RETURN
  157. 17530 *MESSAGE
  158. 17540 FOR I=0 TO 7
  159. 17550   SYMBOL (50,230+20*I),ST$(I),1,1,0,0,PSET,1
  160. 17560 NEXT I
  161. 17570 RETURN
  162. 17580 *F_OUT
  163. 17590 FOR I=16 TO 1 STEP -1 : GOSUB *PALETTE : NEXT I :COLOR ,%0: CLS: RETURN
  164. 17600 *F_IN
  165. 17610 FOR I=1 TO 16 : GOSUB *PALETTE : NEXT I : RETURN
  166. 17620 *PALETTE
  167. 17630 PALETTE 1,[0*I,0*I,1*I]
  168. 17640 PALETTE 2,[1*I,0*I,2*I]
  169. 17650 PALETTE 3,[2*I,1*I,3*I]
  170. 17660 PALETTE 4,[4*I,2*I,6*I]
  171. 17670 PALETTE 5,[8*I,6*I,9*I]
  172. 17680 PALETTE 6,[12*I,10*I,13*I]
  173. 17690 PALETTE 7,[14*I,13*I,15*I]
  174. 17700 PALETTE 15,[15*I,15*I,15*I]
  175. 17710 RETURN
  176. 65000 BGM 0:PLAY "R64":BGM 1
  177. 65010 KEY (1) OFF:PLAY OFF:FOR I=0 TO 13:PART I,I:NEXT:GOSUB *F_OUT : RUN"A:Menu.BAS"
  178.